// 统一管理项目用户相关的接口

import request from '@/utils/request'
import type {
  loginFormData,
  loginResponseData,
  userInfoResponseData,
} from './type'

// 统一管理接口
enum API {
  // 登录接口
  LOGIN_URL = '/admin/acl/index/login',
  // 获取用户信息
  USERINFO_URL = '/admin/acl/index/info',
  LOGOUT_URL = '/admin/acl/index/logout',
}

// 暴露请求函数
// 登录的接口方法
//第一个any通常用于表示请求的响应体（payload）的类型，它意味着你可以发送任何类型的对象作为请求体，而TypeScript不会对其进行类型检查。
export const reqLogin = (data: loginFormData) =>
  request.post<any, loginResponseData>(API.LOGIN_URL, data)

// 获取用户信息接口方法
export const reqUserInfo = () =>
  request.get<any, userInfoResponseData>(API.USERINFO_URL)

// 退出登录
export const reqLogout = () => request.post<any, any>(API.LOGOUT_URL)
